﻿// 5469. 有效点对.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>

/*
https://www.acwing.com/problem/content/5472/

给定一个 n
 个节点的无向树，节点编号 1∼n
。

树上有两个不同的特殊点 x,y
，对于树中的每一个点对 (u,v)(u≠v)
，如果从 u
 到 v
 的最短路径需要经过点 x
 和点 y
（路径的两个端点也算经过），且相对顺序上先经过点 x
，后经过点 y
，那么就称 (u,v)
 是一个无效点对，否则就称 (u,v)
 是一个有效点对。

请你计算树中有效点对的数量。

注意：

(u,v)
 和 (v,u)
 是两个不同的点对。
有效点对必须满足 u≠v
。
输入格式
第一行包含三个整数 n,x,y
。

接下来 n−1
 行，每行包含两个整数 a,b
，表示点 a
 和点 b
 之间存在一条无向边。

输出格式
一个整数，表示有效点对的数量。

数据范围
前 3
 个测试点满足 1≤n≤10
。
所有测试点满足 1≤n≤3×105
，1≤x,y≤n
，x≠y
，1≤a,b≤n
，a≠b
。

输入样例1：
3 1 3
1 2
2 3
输出样例1：
5
输入样例2：
3 1 3
1 2
1 3
输出样例2：
4
*/
int main()
{
    std::cout << "Hello World!\n";
}
 